package com.navi.loaddata.core.oracleEntity;

import com.navi.loaddata.core.oracleEntity.array.EtlArrayChamberHstV;
import com.navi.loaddata.core.oracleEntity.array.EtlArrayGlassHstV;
import com.navi.loaddata.core.oracleEntity.cell1.EtlCellChamberHstV;
import com.navi.loaddata.core.oracleEntity.cell1.EtlCellComponentHstV;
import com.navi.loaddata.core.oracleEntity.cell2.EtlCell2ChamberHstV;
import com.navi.loaddata.core.oracleEntity.cell2.EtlCell2ChipHstV;
import com.navi.loaddata.core.oracleEntity.cf.EtlCfChamberHstV;
import com.navi.loaddata.core.oracleEntity.cf.EtlCfGlassHstV;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * Created by Jay on 2018/3/27.
 */

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EtlChamberHstVMapper {

    EtlChamberHstVMapper INSTANCE = Mappers.getMapper(EtlChamberHstVMapper.class);

    EtlArrayChamberHstV etlChamberHstToArray(EtlChamberHstV glassHstVMapper);
    List<EtlArrayChamberHstV> etlChamberHstToArray(List<EtlChamberHstV> list);


    EtlCfChamberHstV etlChamberHstToCf(EtlChamberHstV glassHstVMapper);
    List<EtlCfChamberHstV> etlChamberHstToCf(List<EtlChamberHstV> list);

    //    @Mapping(target = "componentId",source = "glassId")//属性名不一致映射
    @Mapping(target = "componentEndTime",source = "glassEndTime")//属性名不一致映射
    @Mapping(target = "componentStartTime", source = "glassStartTime")//属性名不一致映射
    EtlCellChamberHstV etlChamberHstToCell1(EtlChamberHstV glassHstVMapper);
    List<EtlCellChamberHstV> etlChamberHstToCell1(List<EtlChamberHstV> list);

    //    @Mapping(target = "chipId",source = "glassId")//属性名不一致映射
    @Mapping(target = "chipEndTime", source = "glassEndTime")//属性名不一致映射
    @Mapping(target = "chipStartTime", source = "glassStartTime")//属性名不一致映射
    EtlCell2ChamberHstV etlChamberHstToCell2(EtlChamberHstV glassHstVMapper);
    List<EtlCell2ChamberHstV> etlChamberHstToCell2(List<EtlChamberHstV> list);

}
